The amount and type of data that is collected, analyzed and stored is increasing rapidly over time. The compute infrastructure used to handle this data is also becoming more complex, with more processing power and more portability. As a result, data management and storage is increasingly important. One aspect of this is reliable data backup and storage, and fast data recovery in cases of failure. Another aspect is data portability across locations and platforms.
At the same time, virtualization allows virtual machines to be created and decoupled from the underlying physical hardware. For example, a hypervisor running on a physical host machine or server may be used to create one or more virtual machines that may each run the same or different operating systems, applications and corresponding data. In these cases, management of the compute infrastructure typically includes backup and retrieval of the virtual machines, in addition to just the application data. However, various different platforms are offered for virtualization, including VMware, Microsoft Hyper-V, Microsoft Azure, GCP (Google Cloud Platform), Nutanix AHV, Linux KVM (Kernel-based Virtual Machine), and Xen. While users may desire to have their applications and data be machine-agnostic, it typically is not easy to port applications and data between different platforms.
In addition, there often are economies of scale to operating larger compute infrastructures. However, the capacity of the infrastructure may be too large to be consumed by just one organization. Thus, it may be advantageous for multiple organizations, each with many users, to share a compute infrastructure. In such a situation, it is important that the different tenants are isolated from each other. Even though they are sharing a common compute infrastructure, users from one tenant typically do not have rights to access the resources of another tenant. Users that do not belong to any of the organizations may also require access to certain resources, for example to maintain the compute infrastructure.
Thus, there is a need for better approaches to managing and storing data, particularly across different virtual machine platforms and for multi-tenant situations.